#pragma once
#include <ros/ros.h>
#include "yaml-cpp/yaml.h"

class Paths_Routing_Parameters
{
public:
    YAML::Node paths_scommon_par;

    double vehicle_width;   //车辆宽度
    double vehicle_length;    //车辆长度

    //frenet采样规划参数
    double Max_speed;      //最大速度 [m/s]，纵向和横向速度的尺量合
    double Max_accel;      //最大加速度[m/ss]
    double Max_curvature;  // 最大曲率 [1/m]
    double left_d; // 最大道路宽度 [m]
    double right_d; //最小道路宽度 [m]
    double dDelta;       //道路宽度采样间隔 [m]
    double tDelta;             // 时间采样间隔[s]
    double Maxt;           // 最大预测时间 [s]
    double Mint;           //最小预测时间 [s]
    double D_t_s;          //目标速度采样间隔 [m/s]
    double N_s_sample;     // 目标速度的采样数量
    double D_s;            //目标位置采样间隔 [m]
    double N_s_position;   // 目标位置的采样数量
    //横向权重
    double wlat_d; //横向偏差
    double wlat_v; //横向速度
    double wlat_a; //横向加速度
    double wlat_j; //横向jerk（舒适性，即加速度导数）
    //纵向权重
    double wlon_a; //纵向加速度
    double wlon_j; //纵向jerk
    double wlon_v; //纵向速度
    double wlon_t; //纵向时间（也就路径越短越好）

    //总的
    double wlat_score; // 横向权重得分
    double wlon_score; //纵向权重得分

    double target_speed;
    double initial_vs;

public:
    Paths_Routing_Parameters();
    ~Paths_Routing_Parameters();
};
